package service;

import pojo.User;

import java.util.List;

/**
 * 用户服务层接口
 */
public interface IUserService {
    /**
     * 用户登录
     *
     * @param code
     * @param mail
     * @param password
     * @return
     */
    User login(String code, String mail, String password);

    /**
     * 通过id获取用户信息
     * @param id
     * @return
     */
    User getUserById(int id);

    /**
     * 修改用户信息
     * @param user
     * @return
     */
    int modifyById(User user);

    /**
     * 修改用户的邮箱，性别，个人签名，昵称，城市字段
     * @param user
     * @return
     */
    int modifyInformationById(User user);

    /**
     * 修改用户的头像的路径
     * @param user
     * @return
     */
    int modifyHeadImgById(User user);

    /**
     * 修改用户密码
     * @param user
     * @return
     */
    int modifyPasswordById(User user);

    /**
     * 获取邮箱为mail的用户信息
     * @param mail
     * @return
     */
    User getUserByMail(String mail);

    /**
     * 添加一条用户信息
     * @param user
     * @return
     */
    int addUser(User user);

    /**
     * 获取周回复排行榜的前limit名
     * @param limit
     * @return
     */
    List<User> getReplyTop(int limit);

    /**
     * 根据用户名获取用户信息
     * @param userName
     * @return
     */
    User getUserByName(String userName);
}
